<?php
namespace app\admin\controller;
use app\common\controller\PublicBase;
use think\Request;
use think\Controller;
//登录控制
class Login extends PublicBase{
    public function login()
    {
    	if(request()->isPost()){
    		$data=input('post.');
//  		halt($data);
            $captcha=$data['captcha'];
            //验证码验证成功
    		if(captcha_check($captcha)){
    			if(!empty($data['username']) && !empty($data['password'])){
    				 $info=db('users')->where('username',$data['username'])->value('username');
    				 //用户名存在
    				if($info){
    					//获取users里的密码
    					$user=db('users')->where('username',$data['username'])->find();
//  					halt($user);
    					if(md5($data['password'])==$user['password']){
    						session('admin.id',$user['id']);
    						session('admin.username',$user['username']);
    						//记录登录的时间
    						$data=[
    						   'last_login_time'=>time(),
    						   'last_login_ip' =>request()->ip(),
    						];
    						db('users')->where('username',session('admin.username'))->update($data);
    						$this->success('登录成功！','admin/index/index');
    					}else{
    						$this->error('密码输入错误','login');
    					}
    					
    				}else{
    					//用户名不存在
    					$this->error('用户名不存在','login');
    				}
    			}else{
    				$this->error('用户名或密码不能为空','login');
    			}
			 
			}elseif(empty($captcha)){
			     $this->error('请输入验证吗！');
			     
			}else{
			      //验证码验证失败
			   $this->error('验证码输入错误！');
			}
		    		
	   }else{
	   	
	   	 	return $this->fetch();
	   }
       
    }
    
     public function logout()
    {
      // 清除session（当前作用域）
          session(null);
         $this->success('退出成功！','login/login');
    }
    
    //修改密码
    public function changePass(){
    	if(request()->isPost()){
    		$data=input('post.');
    		
    		if($data['newpassword']!='' && $data['confirmpassword']!='' && ($data['newpassword'] == $data['confirmpassword'])){
//  			halt(strlen($data['newpassword']));
    			//验证密码的长度
    			if(4<strlen($data['newpassword']) && strlen($data['newpassword'])<11){
	    			$pass=db('users')->where('password',md5($data['password']))->find();
	    			
	    			if(isset($pass)){
	//                halt($pass);				
//	                  halt(session('admin.username'));
//                新密码不能为原密码
                      if(md5($data['newpassword'])==$pass['password']){
                      	  $this->error('新密码不能和原密码一样！');
                      }else{
                      	$num=db('users')->where('username',session('admin.username'))->setField('password',md5($data['newpassword']));
	                
		                  if($num){
		                  	 // 清除session（当前作用域）
			                    session(null);
			    				$this->success('密码修改成功,请重新登录！','login/login');
		                  }else{
		                  	
		                  	  $this->error('密码修改失败!');
		                  }
                      	
                      }
	                  
	    				
	    				
	    			}else{
	    				
	    				$this->error('原密码输入不正确！');
	    			}
	    		}else{
	    			
	    			$this->error('新密码的长度必须为5~10位！');
	    		}	
	    			
    		}else{
    			
    			$this->error('两次输入的密码不一致！');
    		}
    	}else{
    		
    		
    		return $this->fetch();
    	}
    }
    
}
